package com.css.fxfzypg.modules.SettingSeismic.service;

import com.css.fxfzypg.base.response.RestResponse;
import com.css.fxfzypg.modules.SettingSeismic.entity.SettingSeismicDetails;
import com.css.fxfzypg.modules.SettingSeismic.entity.SettingSeismicFault;
import com.css.fxfzypg.modules.SettingSeismic.entity.SettingSeismicPoint;
import com.css.fxfzypg.modules.SettingSeismic.vo.SetSeiPointVo;
import com.css.fxfzypg.modules.SettingSeismic.vo.SettingSeismicDetailsVO;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

/**
 * @Description: fxfzypg
 * @Author: lhl
 * @CreateDate: 2022/10/13 16:56
 */
public interface SettingSeismicService {

    RestResponse getAll(String taskId);
    RestResponse getSpaceRange(String taskId);
    RestResponse getFault(String taskId);

    RestResponse saveSettingSeismicFault(SettingSeismicFault entity);
    RestResponse saveSettingSeismicPoint(SettingSeismicPoint entity);
    RestResponse saveSettingSeismicPoint2(SettingSeismicPoint entity);
    RestResponse importExcelPointLonLat(MultipartFile file,String taskId) throws IOException;

    RestResponse getSettingSeismicPointById(String id);
    RestResponse getSettingSeismicDetailsById(String id);
    List<SettingSeismicDetails> getSettingSeismicDetailsByTaskId(String id);

    List<String> getPointDetailByTaskId(String taskId);

    RestResponse updateSettingSeismicPoint(SettingSeismicPoint entity);

    RestResponse deleteSettingSeismicFault(String id,int isNa);
    RestResponse deleteSettingSeismicPoint(String id,int isNa,String taskId);
    RestResponse deleteByFaultNum(String faultNum,String taskId);
    RestResponse deleteById(String id);

    List<SettingSeismicDetailsVO> setEarthquakeCensus(String taskId, String placeProvince);

    List<SettingSeismicDetailsVO> setEarthquakeCensus(List<String> taskId, List<String> placeProvince);

    Map<String, Object> getDetailPage(SettingSeismicDetailsVO settingSeismicDetailsVO, int curPage, int pageSize);

    Map<String, Object> getDetailsPage(SettingSeismicDetailsVO settingSeismicDetailsVO, int curPage, int pageSize);

    SettingSeismicDetails getSettingSeismicDetailsByInfluenceflieId(String influenceflieId);

    List<SettingSeismicDetails> getByTaskNumAndLonAndLatAndEqLevel(String taskNum, BigDecimal lon, BigDecimal lat,
                                                                   BigDecimal eqLevel);

    List<SettingSeismicDetailsVO> setEarthquakeCensusNossid(String taskId, String placeProvince);

    List<SettingSeismicPoint> getPointsByTaskId(String taskId);

    List<SettingSeismicDetails> getSettingSeismicDetailsBySsId(String ssId);

    int updateFaultNum(SettingSeismicPoint settingSeismicPoint);
}
